package com.eqxiu.ieditor.dao;

import com.eqxiu.ieditor.dto.HomePageUserDTO;
import com.eqxiu.ieditor.dto.HomePageUserParam;
import com.eqxiu.ieditor.dto.HomePageUserSceneDTO;
import com.eqxiu.ieditor.entity.HomePageUserScene;
import com.eqxiu.ieditor.entity.HomePageUserSceneCriteria;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

public interface HomePageUserSceneMapper {
    int countByExample(HomePageUserSceneCriteria example);

    int deleteByExample(HomePageUserSceneCriteria example);

    int deleteByPrimaryKey(Integer id);

    int insert(HomePageUserScene record);

    int insertSelective(HomePageUserScene record);

    List<HomePageUserScene> selectByExample(HomePageUserSceneCriteria example);

    HomePageUserScene selectByPrimaryKey(Integer id);

    int updateByExampleSelective(@Param("record") HomePageUserScene record, @Param("example") HomePageUserSceneCriteria example);

    int updateByExample(@Param("record") HomePageUserScene record, @Param("example") HomePageUserSceneCriteria example);

    int updateByPrimaryKeySelective(HomePageUserScene record);

    int updateByPrimaryKey(HomePageUserScene record);

    int batchInsert(@Param(value = "records") List<HomePageUserScene> records);

    List<Integer> selectByUserIdAndSceneIds(@Param("userId") String userId, @Param(value = "sceneIds") List<Integer> sceneIds);

    int batchDelete(@Param("userId") String userId, @Param(value = "sceneIds") List<Integer> sceneIds);

    HomePageUserScene getBySceneCode(String sceneCode);

    int isExistHomePage(@Param("sceneCode") String sceneCode,@Param("userId") String userId);

    List<HomePageUserDTO> queryHomePageSceneByParams(@Param("record")HomePageUserParam param);

    Integer queryCountHomePageScene(@Param("record") HomePageUserParam param);

}